package o;

import com.google.gson.JsonIOException;
import com.google.gson.JsonSyntaxException;
import com.google.gson.annotations.SerializedName;
import com.huawei.hwid.core.constants.HwAccountConstants;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.InetAddress;
import java.net.URI;
import java.net.URL;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Calendar;
import java.util.Currency;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicIntegerArray;

public final class aup {
    public static final ato<Number> ʻ = new ato<Number>() {
        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˎ(o_auy);
        }

        public Number ˎ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return Short.valueOf((short) o_auy.ˏॱ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˎ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ats ʻॱ = ˏ(AtomicIntegerArray.class, ॱᐝ);
    public static final ato<Boolean> ʼ = new ato<Boolean>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (Boolean) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Boolean ˋ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return Boolean.valueOf(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ॱ(aux o_aux, Boolean bool) throws IOException {
            o_aux.ˊ(bool == null ? HwAccountConstants.NULL : bool.toString());
        }
    };
    public static final ato<Character> ʼॱ = new ato<Character>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˊ(o_aux, (Character) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˎ(o_auy);
        }

        public Character ˎ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            String ʽ = o_auy.ʽ();
            if (ʽ.length() == 1) {
                return Character.valueOf(ʽ.charAt(0));
            }
            throw new JsonSyntaxException("Expecting character, got: " + ʽ);
        }

        public void ˊ(aux o_aux, Character ch) throws IOException {
            o_aux.ˊ(ch == null ? null : String.valueOf(ch));
        }
    };
    public static final ato<Number> ʽ = new ato<Number>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (Number) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public Number ॱ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return Byte.valueOf((byte) o_auy.ˏॱ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ॱ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ato<Number> ʽॱ = new ato<Number>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (Number) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public Number ˊ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return Float.valueOf((float) o_auy.ॱˊ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ˋ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ats ʾ = ˏ(Number.class, ˈ);
    public static final ato<Number> ʿ = new ato<Number>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (Number) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Number ˋ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return Double.valueOf(o_auy.ॱˊ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ˏ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ato<Number> ˈ = new ato<Number>() {
        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Number ˋ(auy o_auy) throws IOException {
            auz ʻ = o_auy.ʻ();
            switch (ʻ) {
                case NUMBER:
                case STRING:
                    return new atu(o_auy.ʽ());
                case NULL:
                    o_auy.ॱॱ();
                    return null;
                default:
                    throw new JsonSyntaxException("Expecting number, got: " + ʻ);
            }
        }

        public void ˎ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ato<String> ˉ = new ato<String>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (String) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public String ˊ(auy o_auy) throws IOException {
            auz ʻ = o_auy.ʻ();
            if (ʻ == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            } else if (ʻ == auz.BOOLEAN) {
                return Boolean.toString(o_auy.ʼ());
            } else {
                return o_auy.ʽ();
            }
        }

        public void ॱ(aux o_aux, String str) throws IOException {
            o_aux.ˊ(str);
        }
    };
    public static final ats ˊ = ˏ(BitSet.class, ˏ);
    public static final ato<BigDecimal> ˊˊ = new ato<BigDecimal>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (BigDecimal) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public BigDecimal ॱ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return new BigDecimal(o_auy.ʽ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˏ(aux o_aux, BigDecimal bigDecimal) throws IOException {
            o_aux.ˏ((Number) bigDecimal);
        }
    };
    public static final ats ˊˋ = ˏ(String.class, ˉ);
    public static final ats ˊॱ = ˏ(AtomicInteger.class, ͺ);
    public static final ats ˊᐝ = ˋ(Character.TYPE, Character.class, ʼॱ);
    public static final ato<Class> ˋ = new ato<Class>() {
        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˎ(o_auy);
        }

        public void ˎ(aux o_aux, Class cls) throws IOException {
            throw new UnsupportedOperationException("Attempted to serialize java.lang.Class: " + cls.getName() + ". Forgot to register a type adapter?");
        }

        public Class ˎ(auy o_auy) throws IOException {
            throw new UnsupportedOperationException("Attempted to deserialize a java.lang.Class. Forgot to register a type adapter?");
        }
    }.ˋ();
    public static final ato<BigInteger> ˋˊ = new ato<BigInteger>() {
        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public BigInteger ˊ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return new BigInteger(o_auy.ʽ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˎ(aux o_aux, BigInteger bigInteger) throws IOException {
            o_aux.ˏ((Number) bigInteger);
        }
    };
    public static final ato<StringBuilder> ˋˋ = new ato<StringBuilder>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˊ(o_aux, (StringBuilder) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public StringBuilder ˋ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return new StringBuilder(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ˊ(aux o_aux, StringBuilder stringBuilder) throws IOException {
            o_aux.ˊ(stringBuilder == null ? null : stringBuilder.toString());
        }
    };
    public static final ats ˋॱ = ˋ(Integer.TYPE, Integer.class, ॱˊ);
    public static final ato<StringBuffer> ˋᐝ = new ato<StringBuffer>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (StringBuffer) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˎ(o_auy);
        }

        public StringBuffer ˎ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return new StringBuffer(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ˏ(aux o_aux, StringBuffer stringBuffer) throws IOException {
            o_aux.ˊ(stringBuffer == null ? null : stringBuffer.toString());
        }
    };
    public static final ats ˌ = ˏ(StringBuffer.class, ˋᐝ);
    public static final ato<URL> ˍ = new ato<URL>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˊ(o_aux, (URL) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public URL ˊ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            String ʽ = o_auy.ʽ();
            if (HwAccountConstants.NULL.equals(ʽ)) {
                return null;
            }
            return new URL(ʽ);
        }

        public void ˊ(aux o_aux, URL url) throws IOException {
            o_aux.ˊ(url == null ? null : url.toExternalForm());
        }
    };
    public static final ats ˎ = ˏ(Class.class, ˋ);
    public static final ats ˎˎ = ˏ(StringBuilder.class, ˋˋ);
    public static final ats ˎˏ = ˊ(InetAddress.class, ͺॱ);
    public static final ato<BitSet> ˏ = new ato<BitSet>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (BitSet) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public BitSet ˋ(auy o_auy) throws IOException {
            BitSet bitSet = new BitSet();
            o_auy.ˊ();
            auz ʻ = o_auy.ʻ();
            int i = 0;
            while (ʻ != auz.END_ARRAY) {
                boolean z;
                switch (ʻ) {
                    case NUMBER:
                        if (o_auy.ˏॱ() == 0) {
                            z = false;
                            break;
                        }
                        z = true;
                        break;
                    case BOOLEAN:
                        z = o_auy.ʼ();
                        break;
                    case STRING:
                        String ʽ = o_auy.ʽ();
                        try {
                            if (Integer.parseInt(ʽ) == 0) {
                                z = false;
                                break;
                            }
                            z = true;
                            break;
                        } catch (NumberFormatException e) {
                            throw new JsonSyntaxException("Error: Expecting: bitset number value (1, 0), Found: " + ʽ);
                        }
                    default:
                        throw new JsonSyntaxException("Invalid bitset value type: " + ʻ);
                }
                if (z) {
                    bitSet.set(i);
                }
                i++;
                ʻ = o_auy.ʻ();
            }
            o_auy.ˎ();
            return bitSet;
        }

        public void ˋ(aux o_aux, BitSet bitSet) throws IOException {
            o_aux.ˎ();
            int length = bitSet.length();
            for (int i = 0; i < length; i++) {
                int i2;
                if (bitSet.get(i)) {
                    i2 = 1;
                } else {
                    i2 = 0;
                }
                o_aux.ˏ((long) i2);
            }
            o_aux.ॱ();
        }
    }.ˋ();
    public static final ats ˏˎ = ˏ(URI.class, ˑ);
    public static final ats ˏˏ = ˏ(URL.class, ˍ);
    public static final ats ˏॱ = ˋ(Short.TYPE, Short.class, ʻ);
    public static final ato<URI> ˑ = new ato<URI>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (URI) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public URI ˋ(auy o_auy) throws IOException {
            URI uri = null;
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
            } else {
                try {
                    String ʽ = o_auy.ʽ();
                    if (!HwAccountConstants.NULL.equals(ʽ)) {
                        uri = new URI(ʽ);
                    }
                } catch (Throwable e) {
                    throw new JsonIOException(e);
                }
            }
            return uri;
        }

        public void ˋ(aux o_aux, URI uri) throws IOException {
            o_aux.ˊ(uri == null ? null : uri.toASCIIString());
        }
    };
    public static final ato<AtomicInteger> ͺ = new ato<AtomicInteger>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (AtomicInteger) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public AtomicInteger ॱ(auy o_auy) throws IOException {
            try {
                return new AtomicInteger(o_auy.ˏॱ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˏ(aux o_aux, AtomicInteger atomicInteger) throws IOException {
            o_aux.ˏ((long) atomicInteger.get());
        }
    }.ˋ();
    public static final ato<InetAddress> ͺॱ = new ato<InetAddress>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (InetAddress) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public InetAddress ˋ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return InetAddress.getByName(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ॱ(aux o_aux, InetAddress inetAddress) throws IOException {
            o_aux.ˊ(inetAddress == null ? null : inetAddress.getHostAddress());
        }
    };
    public static final ato<UUID> ـ = new ato<UUID>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (UUID) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public UUID ˊ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return UUID.fromString(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ˋ(aux o_aux, UUID uuid) throws IOException {
            o_aux.ˊ(uuid == null ? null : uuid.toString());
        }
    };
    public static final ato<Boolean> ॱ = new ato<Boolean>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (Boolean) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Boolean ˋ(auy o_auy) throws IOException {
            auz ʻ = o_auy.ʻ();
            if (ʻ == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            } else if (ʻ == auz.STRING) {
                return Boolean.valueOf(Boolean.parseBoolean(o_auy.ʽ()));
            } else {
                return Boolean.valueOf(o_auy.ʼ());
            }
        }

        public void ॱ(aux o_aux, Boolean bool) throws IOException {
            o_aux.ˏ(bool);
        }
    };
    public static final ats ॱʻ = ˏ(UUID.class, ـ);
    public static final ats ॱʼ = ˏ(Currency.class, ॱʽ);
    public static final ato<Currency> ॱʽ = new ato<Currency>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (Currency) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Currency ˋ(auy o_auy) throws IOException {
            return Currency.getInstance(o_auy.ʽ());
        }

        public void ˏ(aux o_aux, Currency currency) throws IOException {
            o_aux.ˊ(currency.getCurrencyCode());
        }
    }.ˋ();
    public static final ato<Number> ॱˊ = new ato<Number>() {
        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˋ(o_auy);
        }

        public Number ˋ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return Integer.valueOf(o_auy.ˏॱ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˎ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ats ॱˋ = ˏ(AtomicBoolean.class, ॱˎ);
    public static final ato<AtomicBoolean> ॱˎ = new ato<AtomicBoolean>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (AtomicBoolean) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public AtomicBoolean ॱ(auy o_auy) throws IOException {
            return new AtomicBoolean(o_auy.ʼ());
        }

        public void ˋ(aux o_aux, AtomicBoolean atomicBoolean) throws IOException {
            o_aux.ˊ(atomicBoolean.get());
        }
    }.ˋ();
    public static final ats ॱͺ = new ats() {
        public <T> ato<T> ˎ(atb o_atb, auv<T> o_auv_T) {
            if (o_auv_T.ˋ() != Timestamp.class) {
                return null;
            }
            final ato ˋ = o_atb.ˋ(Date.class);
            return new ato<Timestamp>(this) {
                final /* synthetic */ AnonymousClass17 ˋ;

                public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
                    return ˋ(o_auy);
                }

                public Timestamp ˋ(auy o_auy) throws IOException {
                    Date date = (Date) ˋ.ˏ(o_auy);
                    return date != null ? new Timestamp(date.getTime()) : null;
                }

                public void ˎ(aux o_aux, Timestamp timestamp) throws IOException {
                    ˋ.ˎ(o_aux, timestamp);
                }
            };
        }
    };
    public static final ats ॱॱ = ˋ(Boolean.TYPE, Boolean.class, ॱ);
    public static final ato<AtomicIntegerArray> ॱᐝ = new ato<AtomicIntegerArray>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (AtomicIntegerArray) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˎ(o_auy);
        }

        public AtomicIntegerArray ˎ(auy o_auy) throws IOException {
            List arrayList = new ArrayList();
            o_auy.ˊ();
            while (o_auy.ˋ()) {
                try {
                    arrayList.add(Integer.valueOf(o_auy.ˏॱ()));
                } catch (Throwable e) {
                    throw new JsonSyntaxException(e);
                }
            }
            o_auy.ˎ();
            int size = arrayList.size();
            AtomicIntegerArray atomicIntegerArray = new AtomicIntegerArray(size);
            for (int i = 0; i < size; i++) {
                atomicIntegerArray.set(i, ((Integer) arrayList.get(i)).intValue());
            }
            return atomicIntegerArray;
        }

        public void ˋ(aux o_aux, AtomicIntegerArray atomicIntegerArray) throws IOException {
            o_aux.ˎ();
            int length = atomicIntegerArray.length();
            for (int i = 0; i < length; i++) {
                o_aux.ˏ((long) atomicIntegerArray.get(i));
            }
            o_aux.ॱ();
        }
    }.ˋ();
    public static final ats ᐝ = ˋ(Byte.TYPE, Byte.class, ʽ);
    public static final ato<Locale> ᐝˊ = new ato<Locale>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˋ(o_aux, (Locale) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public Locale ॱ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            String nextToken;
            String nextToken2;
            String nextToken3;
            StringTokenizer stringTokenizer = new StringTokenizer(o_auy.ʽ(), "_");
            if (stringTokenizer.hasMoreElements()) {
                nextToken = stringTokenizer.nextToken();
            } else {
                nextToken = null;
            }
            if (stringTokenizer.hasMoreElements()) {
                nextToken2 = stringTokenizer.nextToken();
            } else {
                nextToken2 = null;
            }
            if (stringTokenizer.hasMoreElements()) {
                nextToken3 = stringTokenizer.nextToken();
            } else {
                nextToken3 = null;
            }
            if (nextToken2 == null && nextToken3 == null) {
                return new Locale(nextToken);
            }
            if (nextToken3 == null) {
                return new Locale(nextToken, nextToken2);
            }
            return new Locale(nextToken, nextToken2, nextToken3);
        }

        public void ˋ(aux o_aux, Locale locale) throws IOException {
            o_aux.ˊ(locale == null ? null : locale.toString());
        }
    };
    public static final ats ᐝˋ = ˏ(Locale.class, ᐝˊ);
    public static final ato<Number> ᐝॱ = new ato<Number>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (Number) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public Number ॱ(auy o_auy) throws IOException {
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            try {
                return Long.valueOf(o_auy.ͺ());
            } catch (Throwable e) {
                throw new JsonSyntaxException(e);
            }
        }

        public void ˏ(aux o_aux, Number number) throws IOException {
            o_aux.ˏ(number);
        }
    };
    public static final ato<Calendar> ᐝᐝ = new ato<Calendar>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ˏ(o_aux, (Calendar) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public Calendar ˊ(auy o_auy) throws IOException {
            int i = 0;
            if (o_auy.ʻ() == auz.NULL) {
                o_auy.ॱॱ();
                return null;
            }
            o_auy.ॱ();
            int i2 = 0;
            int i3 = 0;
            int i4 = 0;
            int i5 = 0;
            int i6 = 0;
            while (o_auy.ʻ() != auz.END_OBJECT) {
                String ᐝ = o_auy.ᐝ();
                int ˏॱ = o_auy.ˏॱ();
                if ("year".equals(ᐝ)) {
                    i6 = ˏॱ;
                } else if ("month".equals(ᐝ)) {
                    i5 = ˏॱ;
                } else if ("dayOfMonth".equals(ᐝ)) {
                    i4 = ˏॱ;
                } else if ("hourOfDay".equals(ᐝ)) {
                    i3 = ˏॱ;
                } else if ("minute".equals(ᐝ)) {
                    i2 = ˏॱ;
                } else if ("second".equals(ᐝ)) {
                    i = ˏॱ;
                }
            }
            o_auy.ˏ();
            return new GregorianCalendar(i6, i5, i4, i3, i2, i);
        }

        public void ˏ(aux o_aux, Calendar calendar) throws IOException {
            if (calendar == null) {
                o_aux.ᐝ();
                return;
            }
            o_aux.ˊ();
            o_aux.ॱ("year");
            o_aux.ˏ((long) calendar.get(1));
            o_aux.ॱ("month");
            o_aux.ˏ((long) calendar.get(2));
            o_aux.ॱ("dayOfMonth");
            o_aux.ˏ((long) calendar.get(5));
            o_aux.ॱ("hourOfDay");
            o_aux.ˏ((long) calendar.get(11));
            o_aux.ॱ("minute");
            o_aux.ˏ((long) calendar.get(12));
            o_aux.ॱ("second");
            o_aux.ˏ((long) calendar.get(13));
            o_aux.ˏ();
        }
    };
    public static final ats ᐧ = ˊ(Calendar.class, GregorianCalendar.class, ᐝᐝ);
    public static final ato<ath> ᐨ = new ato<ath>() {
        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (ath) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ˊ(o_auy);
        }

        public ath ˊ(auy o_auy) throws IOException {
            ath o_atg;
            switch (o_auy.ʻ()) {
                case NUMBER:
                    return new atj(new atu(o_auy.ʽ()));
                case BOOLEAN:
                    return new atj(Boolean.valueOf(o_auy.ʼ()));
                case STRING:
                    return new atj(o_auy.ʽ());
                case NULL:
                    o_auy.ॱॱ();
                    return atl.ˎ;
                case BEGIN_ARRAY:
                    o_atg = new atg();
                    o_auy.ˊ();
                    while (o_auy.ˋ()) {
                        o_atg.ˎ(ˊ(o_auy));
                    }
                    o_auy.ˎ();
                    return o_atg;
                case BEGIN_OBJECT:
                    o_atg = new atk();
                    o_auy.ॱ();
                    while (o_auy.ˋ()) {
                        o_atg.ˋ(o_auy.ᐝ(), ˊ(o_auy));
                    }
                    o_auy.ˏ();
                    return o_atg;
                default:
                    throw new IllegalArgumentException();
            }
        }

        public void ॱ(aux o_aux, ath o_ath) throws IOException {
            if (o_ath == null || o_ath.ॱॱ()) {
                o_aux.ᐝ();
            } else if (o_ath.ʽ()) {
                atj ˏॱ = o_ath.ˏॱ();
                if (ˏॱ.ॱˋ()) {
                    o_aux.ˏ(ˏॱ.ॱ());
                } else if (ˏॱ.ˊॱ()) {
                    o_aux.ˊ(ˏॱ.ʻ());
                } else {
                    o_aux.ˊ(ˏॱ.ˏ());
                }
            } else if (o_ath.ᐝ()) {
                o_aux.ˎ();
                Iterator it = o_ath.ˋॱ().iterator();
                while (it.hasNext()) {
                    ॱ(o_aux, (ath) it.next());
                }
                o_aux.ॱ();
            } else if (o_ath.ʼ()) {
                o_aux.ˊ();
                for (Entry entry : o_ath.ͺ().ˊॱ()) {
                    o_aux.ॱ((String) entry.getKey());
                    ॱ(o_aux, (ath) entry.getValue());
                }
                o_aux.ˏ();
            } else {
                throw new IllegalArgumentException("Couldn't write " + o_ath.getClass());
            }
        }
    };
    public static final ats ᶥ = new ats() {
        public <T> ato<T> ˎ(atb o_atb, auv<T> o_auv_T) {
            Class ˋ = o_auv_T.ˋ();
            if (!Enum.class.isAssignableFrom(ˋ) || ˋ == Enum.class) {
                return null;
            }
            if (!ˋ.isEnum()) {
                ˋ = ˋ.getSuperclass();
            }
            return new e(ˋ);
        }
    };
    public static final ats ㆍ = ˊ(ath.class, ᐨ);

    static final class e<T extends Enum<T>> extends ato<T> {
        private final Map<T, String> ˋ = new HashMap();
        private final Map<String, T> ˏ = new HashMap();

        public /* synthetic */ void ˎ(aux o_aux, Object obj) throws IOException {
            ॱ(o_aux, (Enum) obj);
        }

        public /* synthetic */ Object ˏ(auy o_auy) throws IOException {
            return ॱ(o_auy);
        }

        public e(Class<T> cls) {
            try {
                for (Enum enumR : (Enum[]) cls.getEnumConstants()) {
                    String name = enumR.name();
                    SerializedName serializedName = (SerializedName) cls.getField(name).getAnnotation(SerializedName.class);
                    if (serializedName != null) {
                        name = serializedName.value();
                        for (Object put : serializedName.alternate()) {
                            this.ˏ.put(put, enumR);
                        }
                    }
                    String str = name;
                    this.ˏ.put(str, enumR);
                    this.ˋ.put(enumR, str);
                }
            } catch (NoSuchFieldException e) {
                throw new AssertionError(e);
            }
        }

        public T ॱ(auy o_auy) throws IOException {
            if (o_auy.ʻ() != auz.NULL) {
                return (Enum) this.ˏ.get(o_auy.ʽ());
            }
            o_auy.ॱॱ();
            return null;
        }

        public void ॱ(aux o_aux, T t) throws IOException {
            o_aux.ˊ(t == null ? null : (String) this.ˋ.get(t));
        }
    }

    public static <TT> ats ˏ(final Class<TT> cls, final ato<TT> o_ato_TT) {
        return new ats() {
            public <T> ato<T> ˎ(atb o_atb, auv<T> o_auv_T) {
                return o_auv_T.ˋ() == cls ? o_ato_TT : null;
            }

            public String toString() {
                return "Factory[type=" + cls.getName() + ",adapter=" + o_ato_TT + "]";
            }
        };
    }

    public static <TT> ats ˋ(final Class<TT> cls, final Class<TT> cls2, final ato<? super TT> o_ato__super_TT) {
        return new ats() {
            public <T> ato<T> ˎ(atb o_atb, auv<T> o_auv_T) {
                Class ˋ = o_auv_T.ˋ();
                return (ˋ == cls || ˋ == cls2) ? o_ato__super_TT : null;
            }

            public String toString() {
                return "Factory[type=" + cls2.getName() + "+" + cls.getName() + ",adapter=" + o_ato__super_TT + "]";
            }
        };
    }

    public static <TT> ats ˊ(final Class<TT> cls, final Class<? extends TT> cls2, final ato<? super TT> o_ato__super_TT) {
        return new ats() {
            public <T> ato<T> ˎ(atb o_atb, auv<T> o_auv_T) {
                Class ˋ = o_auv_T.ˋ();
                return (ˋ == cls || ˋ == cls2) ? o_ato__super_TT : null;
            }

            public String toString() {
                return "Factory[type=" + cls.getName() + "+" + cls2.getName() + ",adapter=" + o_ato__super_TT + "]";
            }
        };
    }

    public static <T1> ats ˊ(final Class<T1> cls, final ato<T1> o_ato_T1) {
        return new ats() {
            public <T2> ato<T2> ˎ(atb o_atb, auv<T2> o_auv_T2) {
                final Class ˋ = o_auv_T2.ˋ();
                if (cls.isAssignableFrom(ˋ)) {
                    return new ato<T1>(this) {
                        final /* synthetic */ AnonymousClass27 ˊ;

                        public void ˎ(aux o_aux, T1 t1) throws IOException {
                            o_ato_T1.ˎ(o_aux, t1);
                        }

                        public T1 ˏ(auy o_auy) throws IOException {
                            T1 ˏ = o_ato_T1.ˏ(o_auy);
                            if (ˏ == null || ˋ.isInstance(ˏ)) {
                                return ˏ;
                            }
                            throw new JsonSyntaxException("Expected a " + ˋ.getName() + " but was " + ˏ.getClass().getName());
                        }
                    };
                }
                return null;
            }

            public String toString() {
                return "Factory[typeHierarchy=" + cls.getName() + ",adapter=" + o_ato_T1 + "]";
            }
        };
    }
}
